The present invention generally relates to a method and system for managing user content on a computer system, and more specifically, pertains to automating the indexing of media content in a simplified hierarchical storage scheme and the automated assignment of keywords and other metadata to the media content to facilitate its retrieval.
With the increased use of digital cameras, Web site image files, home video editing files, sound files, and other types of user media content stored on a hard drive, there is a clear need to provide a scheme to manage and more efficiently access these files. It is common for users to create a number of different folders at scattered locations on one or more hard drives to hold clip art, digital camera photos, video files and other types of image and sound media files. While the prior art includes programs that search a user""s hard drive to identify media files for inclusion in a common listing or index, an efficient technique for automatically creating a hierarchical collection of the media-specific files has not previously been developed. In the past, users have been required to import personal content into an organizer program and manually input keywords and other metadata parameters that would enable a user to subsequently access a desired type or category of media file, or a specific media file.
Once all of the media files on a user""s system are indexed and associated with keywords and other identifying metadata, it becomes relatively easy to locate a group of related media files or a specific media file. However, creating such an index and manually entering keywords and other metadata that will then enable the efficient access of media files becomes a daunting task that may involve many hours of a user""s time. For this reason, most users are reluctant to take the time necessary to index and enter metadata for media files. As a result, media files are often misplaced, or at the very least, are difficult to locate on most users"" hard drives. Without a centralized index and the ability to search through hundreds of media files based on metadata, a user can spend considerable time locating desired media files. The user must locate each potential folder in which one or more desired media file might be stored and then visually search through the files stored therein. While this task may require much less time than manually entering metadata, it is typically repeated so many times that the cumulative time lost can be much greater than that needed to index the files.
Even after a user""s media files are manually indexed and associated with metadata, the user must still periodically update the indexing and associate new media files with metadata. This maintenance function also requires considerable time and effort. Accordingly, it will be apparent that an automated technique for both indexing and associating keywords and other metadata with media files on an ongoing basis would be desirable, since the user would then not need to manually implement this task, and would benefit from being able to readily locate one or more desired media files among all of those stored in various folders on the user""s computer system. As new media files are stored, it would be desirable to automatically add the files to the index scheme and include the corresponding metadata that will enable a user to find the files when desired. Furthermore, the index scheme should be relatively simple, hierarchical, and avoid including unnecessary path information that relates to the location of non-media files.
In accord with the present invention, a method is defined for hierarchically organizing files of a selected type that are stored in a storage accessed by a computing device, to enable a user to efficiently access desired files from among the files of the selected type in the storage. The method includes the step of scanning the storage with the computing device to identify any content folders in which files of the selected type are included. (Note that throughout this disclosure and in the claims that follow, the term xe2x80x9cfolderxe2x80x9d and its plural form are used, and these terms are intended to be entirely synonymous with the terms xe2x80x9cdirectoryxe2x80x9d and its plural form, respectively.) A collection hierarchy is then created based upon the content folders that were thus identified. Each content folder is represented as a collection in the collection hierarchy, and each collection in the collection hierarchy is associated with a folder path that indicates where the collection is located in the storage. Selected empty folders (i.e., folders that do not include any files of the selected type) are also included in the collection hierarchy as necessary to enable the path to each collection to be clearly delineated. These empty folders are selected by applying a xe2x80x9csibling rulexe2x80x9d and delineate branches in the collection hierarchy that distinguish between the different folder paths associated with the collections. Finally, files of the selected type that are included in each collection are imported into the collection hierarchy.
The sibling rule provides for selecting an empty folder for inclusion in the collection hierarchy if and only if the empty folder has any subfolder that is a content folder, and has a sibling folder that is either a content folder or has any subfolder that is a content folder.
The step of scanning preferably includes the step of omitting one or more predefined types of folders included in the storage while scanning. These predefined types of folders include at least one of a temporary folder in which substantially all of the files included therein are only temporarily stored, an application program folder in which application program files are stored, a filtered folder to which filters are applied in determining the files included therein, a folder that is designated as hidden, and a folder that is a subfolder under a non-current-user profile.
The method further includes the step of automatically importing a new collection into the collection hierarchy. The new collection corresponds to a new content folder that was created since the storage was previously scanned, in response to a user accessing the collection hierarchy. Preferably, the step of automatically importing is implemented when a user selects a collection in the collection hierarchy for browsing.
In addition, a user is preferably enabled to selectively determine whether to automatically detect and import into the collection hierarchy at least one of any new content folder that includes any files of the selected type by providing a new collection corresponding to the new content folder, and any new file of the selected type. In a preferred form of the invention, only new content folders that are no more than a predefined level below an existing content folder are imported into the collection hierarchy, if the user has selectively determined that any new content folder is to be automatically detected and included in the collection hierarchy.
An important aspect of the method is that metadata are automatically associated with each file in the collection hierarchy. The metadata preferably comprise keywords derived from the folder path associated with each file in the collection hierarchy. A user is enabled to search for desired files of the selected type that may be included in the collection hierarchy by searching the metadata for one or more keywords. Furthermore, any changes in the folder path at which a folder included within the collection hierarchy is stored in the storage are preferably automatically detected. Then, the metadata associated with each file of the specific type stored within the folder thus detected are automatically determined as a function of the changes in the folder path.
A further aspect of the present invention is directed to a machine-readable memory medium having machine instructions that are executable by a computing device to carry out a plurality of functions generally consistent with the steps of the method described above.
Yet another aspect of the present invention is directed to a system for hierarchically organizing files of a selected type that are stored in a storage accessed by a computing device, to enable a user to efficiently locate desired files from among the files of the selected type in the storage. The system includes a computing device having logical processing capabilities, a storage coupled to the computing device that provides non-volatile storage of files and data, and a memory that is coupled to the computing device in which machine instructions are stored. When these machine instructions are executed by the computing device, they cause functions to be implemented that are also generally consistent with the steps of the method discussed above.